home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Dev / GameboyDev / GBDK / lib / asl.s < prev    next >
Encoding:
Text File  |  1999-03-29  |  428 b   |  30 lines

  1.     .include    "global.s"
  2.  
  3.     .area    _CODE
  4.  
  5.     ;; 16-bit arithmetic and logical shift left
  6.     ;; 
  7.     ;; Entry conditions
  8.     ;;   BC = value to shift
  9.     ;;   A = number of bits to shift
  10.     ;; 
  11.     ;; Exit conditions
  12.     ;;   BC = result
  13.     ;;
  14.     ;; Register used: AF,BC,DE,HL
  15. .asl16::
  16. .lsl16::
  17.     OR    A        ; Test if shift value is 0
  18.     RET    Z        ; If yes, return
  19. 1$:
  20.     SLA    C        ; Shift left
  21.     RL    B
  22.     DEC    A
  23.     JR    NZ,1$        ; Finished?
  24.     RET
  25.  
  26. .asl8::
  27. .lsl8::
  28.     LD    B,#0x00
  29.     JP    .asl16
  30.